A computer network is a collection of interconnected computing devices that can exchange data and share resources. Example network devices include layer two devices that operate within the second layer of the Open Systems Interconnection (OSI) reference model, i.e., the data link layer, and layer three devices that operate within the third layer of the OSI reference model, i.e., the network layer. Network devices within computer networks, such as routers, often include a routing engine that provides control plane functionality for the network device. In some cases, the network devices may also include a plurality of packet forwarding engines (PFEs) and a switch fabric that collectively provide a forwarding plane for forwarding network traffic.
The routing engine provides control plane functions storing network topology in the form of routing tables, executing routing protocols to communicate with peer routing devices and maintain and update the routing tables, and providing a management interface to allow user access and configuration of the network device. The routing engine maintains routing information that describes a topology of a network, and derives a forwarding information structure, e.g., a forwarding information base (FIB), in accordance with the routing information. In general, the routing information represents the overall topology of the network and defines routes to destinations/prefixes within the network.
In contrast, the forwarding information is generated based on selection of certain routes within the network and maps packet key information (e.g., destination information and other select information from a packet header) to one or more specific next hops and ultimately to one or more specific output interfaces of interface cards of the network device. Typically, the routing engine installs forwarding structures into each of the PFEs to control forwarding of traffic within the data plane. This allows the FIB in each of PFEs to be updated without degrading packet forwarding performance of the routing node. In some instances, the routing engine may derive separate FIBs which are copied to respective PFEs.
One way to provide reliable system availability for the network is to use multi-chassis routers. A multi-chassis router is a router in which multiple routing nodes are physically coupled and configured to operate as a single routing node. To other routers on the network, the multi-chassis router appears as a single routing node. However, a multi-chassis router may have multiple links, allocated among the member chassis, to a neighbor router or other network device. Replicating resources for network links across the member chassis of a multi-chassis router gives rise to inter-chassis redundancy (ICR), which can protect against access link failures, uplink failures, and wholesale chassis failures without significant disruption to connected devices on the network.
In some multi-chassis configurations, the member chassis of a multi-chassis router are connected by inter-chassis links between associated interface cards of the member chassis. In many cases, the forwarding structures installed into the PFEs of the member chassis specify a forwarding path that includes an inter-chassis link. As a result, a packet that enters a multi-chassis router at one member chassis may be forwarded, via an inter-chassis link, to a different member chassis that includes the egress interface card for the packet.